home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs17.d81
/
cad401.sfx
/
A
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1990-02-12
|
2KB
|
54 lines
1 OPEN15,D0,15,"UI:":CLOSE15:GOTO18
2 GETA$:IFA$=""THEN12
3 IFA$>"/"ANDA$<":"THENSF=VAL(A$)-SS*(A$="0"):GOTO12
4 IFA$="[147]"THENSYS36888:GOTO12
5 IFA$="!"THENSYS36867:GOTO12
6 IFA$="="THENSYS36882:GOTO12
7 IFA$="&"THENSYS36879:GOTO12
8 IFA$="#"THENSYS36876:GOTO12
9 IFA$=CHR$(20)THENSYS36885:GOTO12
10 IFA$=CHR$(136)THEN46
11 IFA$=CHR$(140)THENGOSUB50
12 X=X+USR(121)*SF:Y=Y-USR(122)*SF
13 IFX>331THENX=331
14 IFX<12THENX=12
15 IFY>239THENY=239
16 IFY<40THENY=40
17 A=USR(34),X,Y,0:A=USR(34),16,Y,6:A=USR(34),X,231,7:RETURN
18 A=USR(33),0:A=USR(34),0,Y,6:A=USR(34),X,255,7:A=USR(0),0,1,4
19 A=USR(21):A=USR(17):A=USR(19):A=USR(1)
20 PRINTCHR$(14)"[147][206][207][212][197]: [204]INES MUST BE HORIZONTAL AND/OR":PRINT"VERTICAL.":PRINT
21 PRINT:PRINT"[197]NTER THE LINE SEGMENT LENGTH IN DOTS."
22 A$="":INPUT"([211]IXTY [60] DOTS PER INCH.)";A$:PRINT:L=VAL(A$):IFL<1THENL=3
23 PRINT"[197]NTER THE SPACE LENGTH IN DOTS."
24 A$="":INPUT"([211]IXTY [60] DOTS PER INCH.)";A$:SP=VAL(A$):IFSP<1THENSP=3
25 PRINT"[147]":A=USR(0),1,7,14:A=USR(1):A=USR(16):OPEN15,D0,15,"UI:":CLOSE15
26 A=USR(32),0
27 GOSUB2:A=USR(117):IFA<>16THEN27
28 SYS36864:X1=X-12:Y1=Y-40:A=USR(34),X,Y,1:A=USR(32),1
29 A=USR(117):IFA<>0THEN29
30 GOSUB2:A=USR(117):IFA<>16THEN30
31 X2=X-12:Y2=Y-40:A=USR(34),X,Y,2:A=USR(32),2
32 A=USR(117):IFA<>0THEN32
33 IF(X1=X2)AND(Y1=Y2)THENA=USR(33),1:A=USR(33),2:GOTO18
34 IFX1=X2THEN37
35 IFY1=Y2THEN41
36 A=USR(33),1:A=USR(33),2:GOTO26
37 IFY2<Y1THENY3=Y2:Y2=Y1:Y1=Y3
38 Y3=Y1+L:IFY3>Y2THENY3=Y2
39 A=USR(66),X1,Y1,X1,Y3:Y1=Y3+SP+1:IFY1>=Y2THEN45
40 GOTO38
41 IFX2<X1THENX3=X2:X2=X1:X1=X3
42 X3=X1+L:IFX3>X2THENX3=X2
43 A=USR(66),X1,Y1,X3,Y1:X1=X3+SP+1:IFX1>=X2THEN45
44 GOTO42
45 A=USR(33),1:A=USR(33),2:GOTO26
46 FORT=0TO3:A=USR(33),T:NEXT:SYS36912
47 GETA$:IFA$=""THEN47
48 POKE780,ASC(A$):SYS32813
49 GOTO18
50 FI$="JJH[193]":SYS36864:DR=PEEK(36863):POKE36863,PEEK(36862):POKE183,LEN(FI$)
51 FORT=1TOLEN(FI$):POKE827+T,ASC(MID$(FI$,T,1)):NEXT:SYS32792
52 GETA$:IFA$=""THEN52
53 POKE36863,DR:SYS36885:RETURN